
package com.feib.soeasy.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.feib.soeasy.model.Group;
import com.feib.soeasy.model.PaymentCanceledReason;
import com.feib.soeasy.model.RealAccount;
import com.feib.soeasy.pagination.PaginatedList;


/**
 * @title (#)RealAccountService.java<br>
 * @description <br>
 * @author Karl Chen<br>
 * @version 1.0.0 2012/07/19
 * @copyright Far Eastern International Bank Copyright (c) 2010<br>
 * @2012/07/19 create by Karl Chen<br>
 */
@Transactional(readOnly = true)
public interface PaymentCanceledReasonService {
    
    public PaginatedList<PaymentCanceledReason> queryByRealAccount(PaymentCanceledReason paymentCanceledReason, PaginatedList<PaymentCanceledReason> paginationConfig);

    /**
     * @param editPaymentCanceledReason
     */
    @Transactional(readOnly = false)
    public PaymentCanceledReason addPaymentCanceledReason(PaymentCanceledReason paymentCanceledReason);
    
	  /**
	  * @param editPaymentCanceledReason
	  */
	 @Transactional(readOnly = false)
	 public void deletePaymentCanceledReason(PaymentCanceledReason paymentCanceledReason);
    
	 /**
	  * @param pk
	  */
	 public PaymentCanceledReason queryByPk(Long pk);
	 
     @Transactional(readOnly = false)
     public PaymentCanceledReason save(PaymentCanceledReason paymentCanceledReason);
    
     /**
      * @param group
      */
     public List<PaymentCanceledReason> queryAllReasonByGroupPk(Long groupPk);

     /**
      * @param groupPk
      * @param cancelCode
      * @return
      */
     public PaymentCanceledReason queryByGroupPkAndCancelCode(Long groupPk, String cancelCode);

}
